import Vue from 'vue'
import Vuex from 'vuex'

import mutations from './mutations';
import actions from './actions';
import getters from './getters';
const state = {
  cartList: []
}

// 安装插件
Vue.use(Vuex)

export default new Vuex.Store({
  // state
  state,
  mutations,
  actions,
  getters,

  // commit
  // state 是其中事件的必传参数
  /*

mutations: {
  // addCart(state, payload) {
  // state.cartList.push(payload)

  // payload新添加的商品
  // state.cartList 是购物车里的商品
  // 先遍历判断购物车中是否有新添加商品的iid
  // 如果有 定位到购物车里与payload.iid*相同的商品 
  // item就给oldProduct赋值
  // let oldProduct = null
  // for (let item of state.cartList) {
  //   if (item.iid === payload.iid) {
  //     oldProduct = item
  //   }
  // }

  // 1.查找之前数组中是否有该商品
  // item是将state.cartList中遍历的值
  // let oldProduct = state.cartList.find(item => item.iid === payload.iid)

  //  oldProduct是购物车里的定位到的商品数据
  // 判断oldProduct是否有值
  // 先判断购物车里有没有 要添加的商品
  // 有 就在其数量上加1
  // 没有 就让他的数量等于1 并且将新商品数据传进购物车中
  // if (oldProduct) {
  //   oldProduct.count += 1
  // } else {
  //   oldProduct.count = 1
  //   state.cartList.push(payload)
  // }
  // }
},
  */


  // dispatch
  // actions是通过mutations的异步函数
  // context 上下文 是其中事件的必传参数
  /*
  actions: {

  },
  */
  modules: {
  }
})
